
#pragma once

#include <string>
#include <sstream>

namespace RackNetPoker
{
	struct Card
	{
		enum CardSuite
		{
			CS_CLUBS	= 0,
			CS_DIAMONDS = 1,
			CS_HEARTS	= 2,
			CS_SPADES	= 3,
			CS_NUMBER	= 4
		};

		enum CardValue
		{
			CV_ONE		= 0,
			CV_TWO		= 1,
			CV_THREE	= 2,
			CV_FOUR		= 3,
			CV_FIVE		= 4,
			CV_SIX		= 5,
			CV_SEVEN	= 6,
			CV_EIGHT	= 7,
			CV_NINE		= 8,
			CV_TEN		= 9,
			CV_KNIGHT	= 10,
			CV_QUEEN	= 11,
			CV_KING		= 12,
			CV_NUMBER   = 13
		};

		CardSuite m_cardSuite;
		CardValue m_cardValue;

		std::string ToString() const
		{
			std::string tmp;

			switch(m_cardSuite)
			{
			case CS_CLUBS:
				tmp += "Clubs";
				break;
			case CS_DIAMONDS:
				tmp += "Diamonds";
				break;
			case CS_HEARTS:
				tmp += "Hearts";
				break;
			case CS_SPADES:
				tmp += "Spades";
				break;
			}

			std::stringstream ss;
			ss << m_cardValue;

			tmp += ss.str();

			return tmp;
		}


	};
}